package com.wanmait.teatrain.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import java.util.Date;

import lombok.Data;
import lombok.Getter;
import lombok.Setter;
import lombok.experimental.Accessors;

/**
 * <p>
 * 用户考试-试卷表
 * </p>
 *
 * @author wanmait
 * @since 2025-10-22
 */
@Data
@Accessors(chain = true)
@TableName("admin_paper")
public class AdminPaper {

    /**
     * 考试记录唯一 ID
     */
    @TableId(value = "id", type = IdType.AUTO)
    private Integer id;

    /**
     * 关联 admin 表的 id（考生）
     */
    private Integer adminId;

    /**
     * 关联 paper_set 表的 id（所考试卷）
     */
    private Integer paperSetId;

    /**
     * 是否是模拟考试
     */
    private Boolean isSimulate;

    /**
     * 考试开始时间
     */
    private Date startTime;

    /**
     * 考试结束时间（交卷时赋值）
     */
    private Date endTime;

    /**
     * 考试总分（各题得分之和）
     */
    private Integer totalScore;

    /**
     * 是否及格（1 = 是，0 = 否，交卷后赋值）
     */
    private Boolean isPass;

    /**
     * 切屏次数（超过 3 次自动交卷）
     */
    private Integer cutScreenCount;

    /**
     * 单次最长切屏时间（单位：秒，超过 5 秒自动交卷）
     */
    private Integer maxCutScreenTime;

    /**
     * 考试状态（1 = 待开始，2 = 进行中，3 = 已完成，4 = 自动交卷）
     */
    private Integer status;

    /**
     * 数据有效性（1 = 有效，0 = 无效）
     */
    private Boolean enable;
}
